package com.zc.campus_shops.dao;

import java.util.List;

import org.apache.ibatis.annotations.Param;
import org.junit.runners.Parameterized.Parameters;

import com.zc.campus_shops.entity.Product;


//商品接口
public interface ProductDao {
	
	
	/**
	 * 分页查询商品，可以输入的条件检索:商品名（模糊查询），商品状态，店铺Id，商品类别
	 * @param shopCondition
	 * @param rowIndex  从第几行开始取数据
	 * @param pageSize  返回的条数
	 * @return
	 */
	List<Product> queryProductList(@Param("productCondition") Product productCondition, @Param("rowIndex") int rowIndex,
			@Param("pageSize") int pageSize);
	
	
	/**
	 * 查询对应商品总数
	 * @param productCondition
	 * @return
	 */
	int queryProductCount(@Param("productCondition") Product productCondition);
	/**
	 * 通过productId 查找商品
	 * @param productId
	 * @return
	 */
	Product queryProductById(long productId);

	/**
	 * 新增商品
	 * @param product
	 * @return
	 */
	int insertProduct(Product product);
	
	/**
	 * 更新商品信息
	 * @param product
	 * @return
	 */
	int updateProduct(Product product);
	
	/**
	 * 删除商品类别之前 将商品类别id置空
	 * @param productCategoryId
	 * @return
	 */
	int updateProductCategoryToNull(long productCategoryId);
	/**
	 * 删除商品
	 * @param productCategoryId
	 * @param shopId
	 * @return
	 */
	int deleteProduct(@Param("productId") long productId,@Param("shopId") long shopId);
}
